#!/bin/bash

# 节点列表  ip:主机名称:角色（master|worker）
NODE_LIST=(
"192.168.0.17:node1:k8s-master01:master"
"192.168.0.18:node2:k8s-worker01:worker"
"192.168.0.19:node3:k8s-worker02:worker"
)

# 遍历配置中的服务器定义，获取到所有节点的ip和分类
MASTER_NODE_IP_LIST=()
WORKER_NODE_IP_LIST=()
ALL_NODE_IP_LIST=()
ALL_NODE_USER_LIST=()
ALL_NODE_HOSTNAME_LIST=()

for i in "${!NODE_LIST[@]}"; do
    # 输出当前元素
    item="${NODE_LIST[$i]}"
    echo "item=${item}"
    # 根据格式第一列为ip
    item_ip=`echo $item | awk -F ':' '{print $1}'`
    echo "item_ip=${item_ip}"

    # 第二列为用户
    item_user=`echo $item | awk -F ':' '{print $2}'`
    echo "item_user=${item_user}"

    # 第三列为主机名
    item_hostname=`echo $item | awk -F ':' '{print $3}'`
    echo "item_hostname=${item_hostname}"

    # 第四列为角色
    item_role=`echo $item | awk -F ':' '{print $4}'`
    echo "item_role=${item_role}"

    ALL_NODE_IP_LIST+=( $item_ip )
    ALL_NODE_USER_LIST+=( $item_user )
    ALL_NODE_HOSTNAME_LIST+=( $item_hostname )
    if [[ ${item_role} == 'master' ]];then
       MASTER_NODE_IP_LIST+=( $item_ip )
    fi

   if [[ ${item_role} == 'worker' ]];then
       WORKER_NODE_IP_LIST+=( $item_ip )
   fi
done

echo "主节点ip列表：" ${MASTER_NODE_IP_LIST[*]}
echo "工作节点ip列表：" ${WORKER_NODE_IP_LIST[*]}
# echo ${ALL_NODE_IP_LIST[*]}
echo "确认节点数据"
read -p "按回车继续" 